package com.stevenmoon.csdnplus.mvpview;

import com.hannesdorfmann.mosby.mvp.MvpView;
import com.stevenmoon.csdnplus.bean.headline.CommentInfoBean;
import com.stevenmoon.csdnplus.bean.headline.CommunityDetailBean;
import com.stevenmoon.csdnplus.bean.headline.DetailUpDownInfo;
import com.stevenmoon.csdnplus.bean.FavoriteOperationInfo;
import com.stevenmoon.csdnplus.bean.FollowOperationInfo;
import com.stevenmoon.csdnplus.bean.headline.HeadlineDetailBean;
import com.stevenmoon.csdnplus.bean.UserRelationBean;

/**
 * Created by WangJun on 2016/4/18.
 */
public interface HeadlineDetailView extends MvpView {

    void showLoadingView();

    void hideLoadingView();

    void showAuthorInfo(UserRelationBean author);

    void showDetail(HeadlineDetailBean detail);

    void showCommunityInfo(CommunityDetailBean community);

    void showNewComments(CommentInfoBean commentInfo);

    void showLoadDetailFail();

    void showCollectSuccess(FavoriteOperationInfo resultBean);

    void showCollectFail();

    void showUnCollectSuccess(FavoriteOperationInfo resultBean);

    void showUnCollectFail();

    void showAddFollowSuccess(FollowOperationInfo resultBean);

    void showAddFollowFail();

    void showCancelFollowSuccess(FollowOperationInfo resultBean);

    void showCancelFollowFail();

    void showMoreComments(CommentInfoBean commentInfo);

    void showNoMoreComments();

    void showUpArticleSuccess(DetailUpDownInfo resultBean);

    void showUpArticleFail();

    void showDownArticleSucess();

    void showDownArticleFail();

}
